Boolean Programs: A Model and Process For Software Analysis

نویسندگان

  • Thomas Ball
  • Sriram K. Rajamani
چکیده

A fundamental issue in model checking of software is the choice of a model for software. We present a model called boolean programs that is expressive enough to represent features in common programming languages and is amenable to model checking. We present a model checking algorithm for boolean programs using context-free-language reachability. The model checking algorithm allows procedure calls with unbounded recursion, exploits locality of variable scopes, and gives short error traces. Furthermore, we give a process for incrementally re ning an initial skeletal boolean program B (representing a source program P ) with respect to a particular reachability query in P . The presence of infeasible paths in P may lead to the model checker reporting false positive errors in B. We show how to re ne B by introducing boolean variables to rule out the infeasible paths. The process uses ideas from model checking, symbolic execution, and program slicing.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Propagation Models and Fitting Them for the Boolean Random Sets

In order to study the relationship between random Boolean sets and some explanatory variables, this paper introduces a Propagation model. This model can be applied when corresponding Poisson process of the Boolean model is related to explanatory variables and the random grains are not affected by these variables. An approximation for the likelihood is used to find pseudo-maximum likelihood esti...

متن کامل

Using boolean and fuzzy logic combined with analytic hierarchy process for hazardous waste landfill site selection: A case study from Hormozgan province, Iran

Hazardous wastes include numerous kinds of discarded chemicals and other wastes generated from industrial, commercial, and institutional activities. These types of waste present immediate or long-term risks to humans, animals, plants, or the environment and therefore require special handling for safe disposal. Landfills that can accept hazardous wastes are excavated or engineered sites where th...

متن کامل

Model Checking Boolean Programs

The reliability of software is crucial to the functioning of today’s world, which heavily depends on computer systems. Given the ever increasing complexity of software, bugs are subtle and thus hard to find with manual inspection. A more promising approach is to use a formal method such as model checking, which employs exhaustive state-space search to ensure the correctness of the software. How...

متن کامل

Analysis of Boolean Programs

Boolean programs are a popular abstract domain for static-analysisbased software model checking. Yet little is known about the complexity of model checking for this model of computation. This paper aims to fill this void by providing a comprehensive study of the worst-case complexity of several basic analyses of Boolean programs, including reachability analysis, cycle detection, LTL, CTL, and C...

متن کامل

Verification of Boolean programs with unbounded thread creation

Most symbolic software model checkers use abstraction techniques to reduce the verification of infinite-state programs to that of decidable classes. Boolean programs [T. Ball, S.K. Rajamani, Bebop: A symbolic model checker for Boolean programs, in: SPIN 00, in: Lecture Notes in Computer Science, vol. 1885, Springer, 2000, pp. 113–130] are the most popular representation for these abstractions. ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2000